home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - ProDOS
/
PRO050.dsk
/
LP.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
7KB
|
188 lines
10 GOSUB 62000
15 D$ = CHR$(4)
20 PRINT D$;"PR#3"
2200 REM READ TIME
2205 IF FC = 1 THEN TM$ = "": RETURN
2210 PRINT D$;"IN#4": PRINT D$;"PR#4"
2220 INPUT ":";CK$
2230 PRINT D$;"IN#0": PRINT D$;"PR#0"
2240 PRINT D$;"PR#3"
2260 TM$ = MID$ (CK$,12,2) +":" + MID$ (CK$,15,2)
2270 X$ = LEFT$(TM$,2):X = VAL( MID$ (CK$,12,2))
2280 IF X <12 THEN TM$ = TM$ +" A.M.": RETURN
2290 IF X <13 THEN TM$ = TM$ +" P.M.": RETURN
2300 X = X -12:X$ = STR$(X):TM$ = X$ + RIGHT$(TM$,3) +" P.M."
2310 RETURN
10000 REM PRINT CHECKS
10010 V = 3: HOME
10020 VTAB 1: PRINT "TR#";
10030 HTAB 6: PRINT "DATE";
10040 HTAB 16: PRINT "CK#";
10050 HTAB 22: PRINT "PAY TO:";
10060 HTAB 48: PRINT "P";
10070 HTAB 51: PRINT "AMOUNT";
10080 HTAB 61: PRINT "CAT";
10090 HTAB 70: PRINT "MEMO"
10100 VTAB 2: PRINT "-------------------------------------------------------------------------------"
10110 POKE 34,2
10120 M = 0
10130 FOR I = M TO 19 +M
10140 IF TN%(I) = WT% -1 THEN F = 1
10145 IF TN%(I) = 0 THEN F = 2
10150 TN% = TN%(I):DT$ = DT$(I):CN$ = CN$(I):PY$ = PY$(I):AMT$ = AMT$(I):CTG$ = CTG$(I):MEM$ = MEM$(I)
10160 VTAB V: PRINT TN%;
10170 HTAB 6: PRINT DT$;
10180 HTAB 16: PRINT CN$;
10190 HTAB 22: PRINT LEFT$(PY$,26);
10195 HTAB 48: PRINT P$(I);
10200 AMT = VAL(AMT$): IF AMT <0 THEN AMT = -1 *AMT
10210 J = AMT *100:Z$ = STR$( INT(J +.01)): IF LEN(Z$) = 1 THEN Z$ = "0" +Z$
10220 Y = LEN(Z$) -2
10230 IF Y <0 THEN Z$ = AMT$
10240 IF Y < = 0 THEN Y = 1
10250 H = 56 -Y
10260 HTAB H: PRINT INT(AMT +.001);"."; RIGHT$(Z$,2);
10270 HTAB 61: PRINT CTG$;
10280 HTAB 70: PRINT LEFT$(MEM$,10)
10290 V = V +1: IF V = 24 THEN V = 23
10295 IF F = 1 OR F = 2 THEN 10320
10310 NEXT
10320 VB = V -1: IF F = 2 THEN 12100
10330 VTAB V
10340 PRINT "------------------------------------------------------------------------------"
10350 HTAB 6: VTAB 24: PRINT "PLACE A <P> ON THOSE CHECKS YOU WISH TO PRINT, OR GOTO <N>EXT FIELD";
10360 V = 3:H = 48
10370 HTAB 48: VTAB 3:I = M
10380 GET X$
10390 IF X$ = "N" OR X$ = "n" THEN 12000
10400 IF X$ = CHR$(11) THEN 10480
10410 IF X$ = CHR$(10) THEN 10500
10415 IF CN$(I) = "*" THEN X$ = CHR$(13): GOTO 10430
10420 IF X$ = "P" OR X$ = "p" THEN P$(I) = "P": HTAB 48: VTAB V: PRINT "P";: GOTO 10450
10430 IF X$ = CHR$(13) OR X$ = CHR$(32) THEN P$(I) = " ": HTAB 48: VTAB V: PRINT " ";: GOTO 10450
10440 IF X$ < >"P" THEN HTAB H: GOTO 10380
10450 IF V = VB THEN HTAB H: GOTO 10380
10460 V = V +1:I = I +1
10470 HTAB H: VTAB V: GOTO 10380
10480 IF V = 3 THEN 10380
10490 V = V -1:I = I -1: GOTO 10470
10500 IF V = VB THEN 10380
10510 V = V +1:I = I +1: GOTO 10470
12000 REM NEXT GROUP
12010 HTAB 79: VTAB 2: CALL -958
12020 M = M +20
12030 IF F = 1 THEN 12100
12040 PRINT :V = 3: GOTO 10130
12100 M = 0:F = 0: POKE 34,0
13000 HOME
13020 HTAB 1: VTAB 5: PRINT "WOULD YOU LIKE TO <P>RINT CHECKS, <R>EDO YOUR CHOICES, OR GO TO <M>AIN MENU?"
13030 HTAB 40: VTAB 7: GET X$
13040 IF X$ = "P" OR X$ = "p" THEN 15000
13050 IF X$ = "R" OR X$ = "r" THEN 10000
13060 IF X$ = "M" OR X$ = "m" THEN 32000
13070 IF X$ < >"m" THEN 13000
15000 REM PRINT CHECKS
15010 PRINT D$;"PR#1"
15050 FOR I = 0 TO 59
15060 IF TN%(I) = WT% -1 THEN F = 1
15070 IF P$(I) < >"P" THEN 15255
15080 PRINT : PRINT
15090 HTAB 55: PRINT DT$(I);
15100 AMT = VAL(AMT$(I)): IF AMT <0 THEN AMT = -1 *AMT
15110 J = AMT *100:Z$ = STR$( INT(J +.01)): IF LEN(Z$) = 1 THEN Z$ = "0" +Z$
15120 A$ = STR$( INT(AMT +.001))
15130 IF LEN(A$) = 6 THEN A$ = LEFT$(A$,3) +"," + RIGHT$(A$,3)
15140 IF LEN(A$) = 5 THEN A$ = LEFT$(A$,2) +"," + RIGHT$(A$,3)
15150 IF LEN(A$) = 4 THEN A$ = LEFT$(A$,1) +"," + RIGHT$(A$,3)
15155 HA = 76 - LEN(A$)
15160 HTAB HA: PRINT "$";A$;"."; RIGHT$(Z$,2)
15170 PRINT
15180 HTAB 7: PRINT "*****";A$;"** DOLLARS AND "; RIGHT$(Z$,2);" CENTS"
15190 PRINT
15200 PRINT
15210 HTAB 10: PRINT PY$(I)
15220 HTAB 10: PRINT AAD$(I)
15230 HTAB 10: PRINT BAD$(I);: HTAB 54: PRINT ACT$(I)
15240 HTAB 10: PRINT CAD$(I)
15250 PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT : PRINT
15255 IF F = 1 THEN F = 0: GOTO 15270
15260 NEXT I
15270 PRINT D$;"PR#0
16000 GOTO 32000
20000 REM LIST CURRENT TRANSACTIONS
20010 HOME
20020 HTAB 25: VTAB 10: PRINT "DISPLAY DATA ON <S>CREEN OR <P>RINTER"
20030 HTAB 40: VTAB 12: GET X$
20040 IF X$ = "S" OR X$ = "s" THEN PF = 0: GOTO 21000
20050 IF X$ = "P" OR X$ = "p" THEN PF = 1: GOTO 21000
20060 IF X$ < >"P" THEN 20000
21000 REM LIST CURRENT TRANSACTIONS
21005 IF PF = 1 THEN PRINT D$;"PR#1"
21010 V = 3: HOME
21020 VTAB 1: PRINT "TR#";
21030 HTAB 6: PRINT "DATE";
21040 HTAB 16: PRINT "CK#";
21050 HTAB 22: PRINT "PAY TO:";
21060 HTAB 48: PRINT "P";
21070 HTAB 51: PRINT "AMOUNT";
21080 HTAB 61: PRINT "CAT";
21090 HTAB 70: PRINT "MEMO"
21100 VTAB 2: PRINT "-------------------------------------------------------------------------------"
21110 POKE 34,2
21120 M = 0
21130 FOR I = M TO 19 +M
21140 IF TN%(I) = WT% -1 THEN F = 1
21145 IF TN%(I) = 0 THEN F = 2
21150 TN% = TN%(I):DT$ = DT$(I):CN$ = CN$(I):PY$ = PY$(I):AMT$ = AMT$(I):CTG$ = CTG$(I):MEM$ = MEM$(I)
21160 VTAB V: PRINT TN%;
21170 HTAB 6: PRINT DT$;
21180 HTAB 16: PRINT CN$;
21190 HTAB 22: PRINT LEFT$(PY$,26);
21200 HTAB 48: PRINT P$(I);
21210 AMT = VAL(AMT$): IF AMT <0 THEN AMT = -1 *AMT
21220 J = AMT *100:Z$ = STR$( INT(J +.01)): IF LEN(Z$) = 1 THEN Z$ = "0" +Z$
21230 Y = LEN(Z$) -2
21240 IF Y <0 THEN Z$ = AMT$
21250 IF Y < = 0 THEN Y = 1
21260 H = 56 -Y
21270 HTAB H: PRINT INT(AMT +.001);"."; RIGHT$(Z$,2);
21290 HTAB 61: PRINT CTG$;
21300 HTAB 70: PRINT LEFT$(MEM$,10)
21310 V = V +1: IF V = 24 THEN V = 23
21320 IF F = 1 OR F = 2 THEN 21340
21330 NEXT
21340 VB = V -1: IF F = 2 THEN 22100
21350 VTAB V
21360 IF PF = 1 THEN PRINT D$;"PR#0"
21365 PRINT "------------------------------------------------------------------------------"
21370 HTAB 26: VTAB 24: PRINT "PRESS <ANY KEY> TO CONTINUE";
21380 GET X$
22000 REM NEXT GROUP
22010 HTAB 79: VTAB 2: CALL -958
22020 M = M +20
22030 IF F = 1 THEN 22100
22040 PRINT :V = 3: IF PF = 1 THEN PRINT D$;"PR#1"
22050 GOTO 21130
22100 M = 0:F = 0:PF = 0: POKE 34,0
23000 HOME
23020 HTAB 4: VTAB 5: PRINT "WOULD YOU LIKE TO <S>EE AGAIN, GO TO <M>AIN MENU, OR GO TO <R>EPORTS?"
23030 HTAB 40: VTAB 7: GET X$
23040 IF X$ = "R" OR X$ = "r" THEN 34000
23050 IF X$ = "S" OR X$ = "s" THEN 20000
23060 IF X$ = "M" OR X$ = "m" THEN 32000
23070 IF X$ < >"m" THEN 23000
32000 PRINT D$;"CHAIN /RAM/CW,@4005"
34000 PRINT D$;"CHAIN /RAM/RPT,@4000"
60000 END
62000 REM INPUT ANYTHING
62010 LET IN$ = "X"
62020 FOR J = 768 TO 790
62030 READ I
62040 POKE J,I
62050 NEXT J
62060 DATA 162,0,32,117,253,160,2,138,145,105,200,169,0,145,105,200,169,2,145,105,76,57,213
62070 RETURN
63000 REM CALL ANYTHING
63010 CALL 768
63020 IN$ = MID$ (IN$,1)
63030 RETURN